Digital data compression/decompression techniques are well known. The techniques are typically implemented in hardware or software or a combination of these. The software module/hardware module or device that performs these functions is typically referred to as a codec. A codec may be used to compress/decompress various types of data including, for example, video data, image data, images and audio data. It is desirable to compress this type of data so that it can be transmitted over a communications link with limited bandwidth, such as a modem connection, DSL line or the like. In general, a higher level of compression (reduction in the total size of the video or audio data) results in greater image/sound quality losses.
In the context of sound data, it is desirable to compress/decompress the data as it is being communicated over a wireless link, which has a very limited bandwidth capability. Some communication systems utilize a digital signal processor (DSP), which is a specialized processor chip that performs compression and decompression functions. A DSP is able to quickly and efficiently compress/decompress the sound data. However, for most applications, it is not feasible to have a DSP located in the device that is performing the sound compression/decompression. Therefore, it is necessary to perform the compression/decompression functions in a software-based solution. With a software-based solution, some hardware-based techniques cannot be used because those hardware-based techniques are too cumbersome from a computation standpoint. Thus, it is desirable to provide a novel software-based sound codec system and method and it is to this end that the present invention is directed.